BFLC:带有委员会机制的基于区块链的去中心化联邦学习架构
接下来,我们看下该篇论文所做的工作。
01背景
现有的中心化的联邦学习框架存在两个缺点:
(1)可能存在恶意客户端节点或中心服务器对全局模型或用户隐私数据进行攻击(Due to the malicious clients or central servers’ constant attack on the global model or user privacy data.);
(2)中心服务器通信压力大,鲁棒性弱,一旦崩溃,整个系统都是受到影响(The server needs to collect updates from numerous clients for aggregation operation, and it also needs to broadcast new global models to these clients, which puts a high demand on network bandwidth. Cloud-based servers are affected by the stability of cloud service providers.);
为了解决以上这两个问题,现有的工作(作者的主要参考文献)有两种思路:
(1)采用去中心化的架构,把全局模型存储在区块链,分别是参考文献[1]和[2]。
(2)采用去中心化的架构,把全局模型和本地模型更新存储在区块链中,参考文献[3]。
作者在阅读这些参考文献后,认为使用区块链来代替中心化联邦学习架构中的中心服务器是有效的(Through the literature review, it would be an effective way for blockchain to serve as decentralized storage and replace the central FL servers.),但以上参考文献中区块链达成共识的时间耗费较长,因此,作者设计了一个委员会机制来改善。综上,相比于之前的工作,作者提出的带有委员会机制的基于区块链的去中心化联邦学习架构主要有两大创新点:
02框架
本文提出的框架名字叫BFLC(Blockchain-based Federated Learning framework with Committee consensus )
传统的中心化的联邦学习框架是由中心服务器向向客户端节点下发当前的全局模型,客户端节点收到后进行本地模型训练,完成后,向服务器上传模型更新,服务器聚合形成新的全局模型。迭代上述过程,直到全局模型精度或通信轮数达到阈值。本文中,作者把灰色的平行四边形的部分称为 训练社区(Training community),通过客户端节点管理机制(Nodes Management Mechanism)将合格的客户端节点选进社区,在训练社区中,节点又被分为2部分:
1. 训练节点(Training Nodes),即绿色圆圈部分;
2. 共识委员会(Committee Consensus),即蓝色圆圈部分;
训练节点从区块链上获取最新的全局模型,在本地进行训练,完成后,将模型更新部分发给共识委员会,共识委员会进行验证,通过后,将模型更新放到区块链上。模型更新的数量达到本轮的要求后,触发共识委员会节点上的智能合约,进行聚合,形成新的全局模型,并放到区块链中。
2.1 Nodes Management Mechanism
使用最初组成训练社区的节点来作为管理机制的节点。(we have designated the initial nodes that constitute the training community to be responsible for node management.) 管理机制使用黑名单的模式,如果客户端节点历史中有不好的行为,那么它加入训练社区将会被拒绝。
2.2 Committee Consensus
选出部分节点(设n个)作为委员会成员,其上的数据作为验证集,用来对每个训练节点的本地模型进行验证并将验证精度作为对该节点的打分,那么每个训练节点就会有n个分数,选择n个分数中的中位数作为每个训练节点模型跟新的最终分数,之后,由分数从高到低,选择m(视聚合需要多少个更新而定)个更新保存到区块链上。
2.3 Blockchain Storage
分为模型区块和更新区块,其中,t是联邦学习的通信轮次,k是该轮需要的更新个数,所以 t*(k +1) 是model block,用来存储全局模型, [t*(k+1)+1,(t+1)*(k+1)-1] 是update blocks,分别存储第t轮通信的k个模型更新。
其中,model block 包含区块头、更新轮次t、全局模型;update block包含区块头、更新轮次t、更新所属的训练节点地址、本更新的得分、模型更新。
03框架扩展
3.1恶意节点攻击分析(Analysis of malicious node attacks)
(2)恶意节点联合伪装成正常节点去获取委员会席位
当恶意节点占有一半的委员会席位时,攻击就会开始。为了分析这种攻击模式,本文设训练社区中的总节点数是A,恶意节点占比是q,委员节点占比是p,那么恶意节点的目标是获得(A*p)/2 个委员会席位。
令A等于1000,得到的分析图如下所示:
只有当恶意节点的占比q超过50%时,攻击开始显著增加。但是,这种情况下攻击的成本大于收益。历史的全局模型和更新都存储在区块链上,当攻击发生时,可以回滚到正常的模型和更新。
3.2存储优化(Storage optimization)
04实验
根据表1和图4可以看出,没有攻击时,本文提出的框架BFLC的精度略微下降;在有攻击时,BFLC的精度一直维持在较高水平。如图5所示,BFLC的通信开销较大,但相比于其他基于区块链的设计,通信开销还可以接受。
05参考文献
[1] P. Ramanan, K. Nakayama, and R. Sharma, “BAFFLE : Blockchain based aggregator free federated learning,” CoRR, vol. abs/1909.07452, 2019. [Online]. Available: http://arxiv.org/abs/1909.074
[2] S. Zhou, H. Huang, W. Chen, Z. Zheng, and S. Guo, “PIRATE: A blockchain-based secure framework of distributed machine learning in 5g networks,” CoRR, vol. abs/1912.07860, 2019. [Online].
[3] X. Chen, J. Ji, C. Luo, W. Liao, and P. Li, “When machine learning meets blockchain: A decentralized, privacy-preserving and secure design,” in 2018 IEEE International Conference on Big Data (Big Data), Dec 2018, pp. 1178–1187.